A Reconfigurable Processor for Heterogeneous Multi-Core Architectures
نویسنده
چکیده
Performance of applications with computationally intensive kernels can be improved by a general-purpose processor used together with application-specific hardware accelerators. To accelerate a wide range of applications with different kernels, a runtime reconfigurable fabric (such as an embedded FPGA) is used. Each application can deploy its own accelerators onto the fabric in order to improve its execution speed. Such reconfigurable processors have been explored in research and industry and have demonstrated performance improvements for various applications using the fabric. However, current state-of-the-art approaches for use of reconfigurable processors in multi-tasking scenarios andmulti-core systems have several disadvantages. Specialized task schedulers are designed for reconfigurable systems that have limited flexibility: they either stall during accelerator reconfiguration or use an “all-or-nothing” approach for running kernels on the fabric (i.e. by either using a single set of accelerators to implement the kernel, and if that is not available then by running the kernel on the processor pipeline without using any fabric). Reconfigurable processors allowing a trade-off between used fabric area and achieved performance use classic task schedulers designed for non-reconfigurable systems and suffer the drawback of long reconfiguration time, which reduces application speedup. Existing approaches for sharing the reconfigurable fabric in multi-core systems can be categorized into two classes: allowing access of all cores to a single shared fabric, and providing a dedicated fabric to each core. Both classes have drawbacks in efficiently using fabric resources: systems with a dedicated fabric have no (or limited) adaptation to workloads changing at run-time, while systems with a shared fabric have limited parallelism when the fabric is accessed by multiple cores simultaneously. The goal of this work is to design concepts for using reconfigurable processors efficiently in multi-tasking scenarios and for efficiently sharing the reconfigurable fabric in a multi-core system. The key contributions are: Task scheduling for reconfigurable processors The drawback for the adaptivity of reconfigurable processors is the comparatively long time to reconfigure an accelerator, which negatively impacts application performance. In multi-tasking workloads this reconfiguration time can be effectively “hidden” by a task scheduler. First, the notion of task efficiency is introduced to describe how well a task benefits from the current state of the reconfigurable processor (i.e. currently reconfigured accelerators in relation to the accelerators required by the task). Based on task efficiency, a scheduler for workloads with deadlines is developed, with the goal of meeting deadlines better. Additionally, a combined scheduling and fabric
منابع مشابه
How to Effectively Program Reconfigurable Multi-Core Embedded Systems?
The continued increase of the number of available transistors on a die has lead to the emergence of the many-core and multi-core computing architectures. These architectures promise the potential for orders of magnitude performance improvements over single core solutions through sheer concurrency. The abundance of transistors also enable the development of heterogeneous and (dynamically) reconf...
متن کاملEfficient Implementation of WiMAX Physical Layer on Multi-core Architectures with Dynamically Reconfigurable Processors
Wireless internet access technologies have significant market potential, especially the WiMAX protocol which can offer data rate of tens of Mbps. A significant demand for embedded high performance WiMAX solutions is forcing designers to seek single-chip multiprocessor or multi-core systems that offer competitive advantages in terms of all performance metrics, such as speed, power and area. Thro...
متن کاملMulti-core Architectures with Coarse-grained Dynamically Reconfigurable Processors for Broadband Wireless Access Technologies
متن کامل
Declarative Programming Techniques for Many-Core Architectures
Future manycore architectures are likely to have heterogeneous computing resources which will include conventional CPUs as well as variants of today’s GPUs and reconfigurable logic like FPGAs. Many of the techniques that the reconfigurable computing community has championed will find new applications in mainstream applications. One challenge posed by such manycore architectures is the requireme...
متن کاملProgrammingmodels for reconfigurable heterogeneous multi-cores
A paradigm shift from single-core to parallel multi-core processors has occurred over the last couple of years to further increase the performance of processors. Originating in high-performance computing, this trend has quickly reached general purpose and finally also embedded central processing units (CPUs). Continuing advances in chip manufacture will not only allow an increasing number of ho...
متن کاملUltra-Low-Energy DSP Processor Design for Many-Core Parallel Applications
Background and Objectives: Digital signal processors are widely used in energy constrained applications in which battery lifetime is a critical concern. Accordingly, designing ultra-low-energy processors is a major concern. In this work and in the first step, we propose a sub-threshold DSP processor. Methods: As our baseline architecture, we use a modified version of an existing ultra-low-power...
متن کامل